package com.shujia.hw2;

import redis.clients.jedis.Jedis;

import java.util.List;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) throws InterruptedException {
        // 客户端需要实现：从控制台读取sql ，再往Redis中进行数据插入 ，等待获取Redis中结果的数据

        // 将数据写入至 Redis 中
        Jedis jedisCon = new Jedis("master", 6379);


        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入SQL语句：");
            String sql = "";
            if (scanner.hasNextLine()) {
                sql = scanner.nextLine();
                jedisCon.set("sql", sql);
            }

            // 方式1
//            Thread.sleep(2000);
//
//            List<String> allDataList = jedisCon.lrange(String.valueOf(sql.hashCode()), 0, -1);
//
//            for (String s : allDataList) {
//                System.out.println(s);
//            }


            // 方式2：
            while (true){
                // brpop 从给定的Key中阻塞获取对应的一条数据，并将列表中对应的数据删除  100 表示超时时间
                List<String> brpop = jedisCon.brpop(5, String.valueOf(sql.hashCode()));
                if (brpop != null){
                    System.out.println(brpop.get(1));
                }else{
                    System.out.println("exit code 0");
                    break;
                }
            }

        }
    }
}
